package top.pcat.entity;

public class ANSI {

    private static final String HEADER = "\033[1;32m"; // 头部信息
    private static final String INFO = "\033[1;36m"; // 普通信息
    private static final String WARN = "\033[1;33m"; // 警告信息
    private static final String ERROR = "\033[1;31m"; // 错误信息

    // 重置所有属性
    public static final String ANSI_RESET = "\u001B[0m";

    // 字体颜色
    public static final String ANSI_BLACK  = "\u001B[30m";
    public static final String ANSI_RED    = "\u001B[31m";
    public static final String ANSI_GREEN  = "\u001B[32m";
    public static final String ANSI_YELLOW = "\u001B[33m";
    public static final String ANSI_BLUE   = "\u001B[34m";
    public static final String ANSI_PURPLE = "\u001B[35m";
    public static final String ANSI_CYAN   = "\u001B[36m";
    public static final String ANSI_WHITE   = "\033[1;37m";

    // 背景颜色
    public static final String ANSI_BLACK_BACKGROUND = "\u001B[40m";
    public static final String ANSI_RED_BACKGROUND = "\u001B[41m";
    public static final String ANSI_GREEN_BACKGROUND = "\u001B[42m";
    public static final String ANSI_YELLOW_BACKGROUND = "\u001B[43m";
    public static final String ANSI_BLUE_BACKGROUND = "\u001B[44m";
    public static final String ANSI_PURPLE_BACKGROUND = "\u001B[45m";
    public static final String ANSI_CYAN_BACKGROUND = "\u001B[46m";
    public static final String ANSI_WHITE_BACKGROUND = "\u001B[47m";
    public static final String ANSI_ORIGIN = "\033[48;5;216m";


    // 字体样式

    public static final String ANSI_BOLD = "\u001B[1m";
    public static final String ANSI_ITALIC = "\u001B[3m";
    public static final String ANSI_UNDERLINE = "\u001B[4m";

    // 光标位置
    public static final String ANSI_MOVE_UP = "\u001B[{n}A";
    public static final String ANSI_MOVE_DOWN = "\u001B[{n}B";
    public static final String ANSI_MOVE_RIGHT = "\u001B[{n}C";
    public static final String ANSI_MOVE_LEFT = "\u001B[{n}D";
    public static final String ANSI_MOVE_NEXT_LINE = "\u001B[{n}E";
    public static final String ANSI_MOVE_PREVIOUS_LINE = "\u001B[{n}F";
    public static final String ANSI_MOVE_COLUMN = "\u001B[{n}G";
    public static final String ANSI_MOVE_POSITION = "\u001B[{row};{col}f";
}
